import { IParam } from '../../common';
import { IViewLogicInput } from '../../modules';
import { IListAbility } from '../ability';
import { IListStore } from '../store';
import { IMDCtrlController } from './i-md-ctrl-controller';

/**
 * 列表部件控制器接口
 *
 * @export
 * @interface IListController
 * @extends {ICtrlController}
 */
export interface IListController<S extends IListStore, A extends IListAbility>
	extends IMDCtrlController<S, A> {
	/**
	 * 加载更多
	 *
	 * @memberof IListController
	 */
	loadMore(): void;

	/**
	 * 处理项点击
	 *
	 * @param {IParam} item
	 * @param {MouseEvent} event
	 * @memberof IListController
	 */
	handleItemClick(item: IParam, event: MouseEvent): void;

	/**
	 * 处理项双击
	 *
	 * @param {IParam} item
	 * @param {MouseEvent} event
	 * @memberof IListController
	 */
	handleItemDbClick(item: IParam, event: MouseEvent): void;
}
